//stream是一个抽象接口，node中有很多对象
//实现了这个借口
//node有四种流类型：
//readable可读操作，writable可写操作，duplex可读写操作，transfrom，操作被写入数据，
// 然后读出结果，所有的刘对象都是EventEmitter的实例，常有的事件有
//data当前数据可读时触发，end没有更多数据可读时触发，error在接受和写入过程中发生错误时
//触发，finish：所有数据已被写入到底层系统时触发。
var fs=require("fs");
var data='';

//创建可读流
var readerStream=fs.createReadStream("index.txt");

//设置编码为utf-8
readerStream.setEncoding('UTF8');

//处理流事件----->data,end,and error
readerStream.on('data',function(chunk){
    data+=chunk;
});

readerStream.on('end',function(){
    console.log(data);
});

readerStream.on('error',function(err){
    console.log(err.stack);
});

console.log("程序执行完毕");